<?php

class ComunicadoController extends Controller {

    const PACKAGE_VIEW = 'comunicado';

    /**
     * @var ComunicadoService
     */
    private $comunicadoService;
    /**
     * @var ClienteService
     */
    private $clienteService;

    public function __construct() {
        $this->clienteService = ClienteService::getInstance();
        $this->comunicadoService = ComunicadoService::getInstance();
    }

    public function listarComunicados() {
        $ArAnnouncement = $this->comunicadoService->findAllAnnouncements();
        $this->save(SESSION_INTERFACE, 'AnnouncementsList', $ArAnnouncement);
        $this->view('listar_comunicados', self::PACKAGE_VIEW);
    }

    public function visualizarComunicado() {
        $IDComunicacao = treatUrl('id');
        multipleEntities($IDComunicacao);
        $Comunicado = $this->comunicadoService->findById($IDComunicacao);
        if( empty($Comunicado) ) {
            return redirect('comunicado', 'listar-comunicados');
        }
        $this->save(SESSION_INTERFACE, 'Announcement', $Comunicado);
        $this->view('visualizar_comunicado', self::PACKAGE_VIEW);
    }

}

?>
